package kr.co.m2soft
{
	import flash.events.EventDispatcher;
	import flash.events.IEventDispatcher;
	import flash.events.MouseEvent;
	
	public class M2Object extends EventDispatcher implements IM2Object
	{
		//하이퍼링크 유형
		private var _hl:int = 0;
		//하이퍼링크 연결정보 hl을 사용하면 hr은 항상사용
		private var _hr:String;
		//하이퍼링크 풍선도움말
		private var _hb:String;
		//하이퍼링크 파라미터 hl="1" 인경우만 사용
		private var _hp:String;
		//하이퍼링크 연결대상 표시창 hl="1"인경우만 사용 
		private var _hn:Number = 0;
		//하이퍼링크 새창 옵션의 전체화면 크기옵션 hn = "1" 인경우만 사용 
		private var _hf:int = 0;
		//하이퍼링크 새창 옵션의 가로폭 hf="0"인경우만 사용 
		private var _hw:Number = 0;
		//하이퍼링크 새창 옵션의 세로 높이 hf="0"인 경우만 사용 
		private var _hh:Number = 0;
		//하이퍼링크 새창 옵션의 x좌표 hf="0"인 경우만 사용 
		private var _hx:Number = 0;
		//하이퍼링크 새창옵션의 y좌표 hf="0"인 경우만 사용 
		private var _hy:Number = 0;
		//하이퍼링크 새창 옵션의 메뉴 hn="1"인 경우만 사용 
		private var _hm:int = 1;
		//하이퍼링크 새창 옵션의 툴바 hn="1"인 경우만 사용  
		private var _ht:int = 1;
		//하이퍼링크 새창 옵션의 상태바 hn="1"인 경우만 사용  
		private var _hs:int = 1;
		//하이퍼링크 새창 옵션의 크기조정가능 hn="1"인 경우만 사용  
		private var _ha:int = 1;
		//하이퍼링크 새창 옵션의 템플릿 HTML문서 hn="1"인 경우만 사용  
		private var _hd:String;
		//하이퍼링크 이벤트 
		private var _he:String;
		//브라우저 닫기 객체
		private var _bc:int = 0;
		
		public function M2Object(target:IEventDispatcher=null)
		{
			super(target);
			
		}
		
		
		[Inspectable(enumeration="0,1,2,3,4,5", defaultValue="0" )]
		public function get hl():int
		{
			return _hl;
		}
		public function set hl(value:int):void
		{
			_hl = value;
		}
		
		
		public function get hr():String
		{
			return _hr;
		}
		public function set hr(value:String):void
		{
			_hr = value;
		}
		
		
		public function get hb():String
		{
			return _hb;
		}
		public function set hb(value:String):void
		{
			_hb = value;
		}
		
		
		public function get hp():String
		{
			return _hp;
		}
		public function set hp(value:String):void
		{
			_hp = value;
		}
		
		
		public function get hn():Number
		{
			return _hn;
		}
		public function set hn(value:Number):void
		{
			_hn = value;
		}
		
		
		[Inspectable(enumeration="0,1", defaultValue="1" )]
		public function get hf():int
		{
			return _hf;
		}
		public function set hf(value:int):void
		{
			_hf = value;
		}
		
		
		public function get hw():Number
		{
			return _hw;
		}

		public function set hw(value:Number):void
		{
			_hw = value;
		}
		
		
		public function get hh():Number
		{
			return _hh;
		}
		public function set hh(value:Number):void
		{
			_hh = value;
		}


		public function get hx():Number
		{
			return _hx;
		}
		public function set hx(value:Number):void
		{
			_hx = value;
		}


		public function get hy():Number
		{
			return _hy;
		}
		public function set hy(value:Number):void
		{
			_hy = value;
		}
		
		
		[Inspectable(enumeration="0,1", defaultValue="1" )]
		public function get hm():int
		{
			return _hm;
		}
		public function set hm(value:int):void
		{
			_hm = value;
		}
		
		[Inspectable(enumeration="0,1", defaultValue="1" )]
		public function get ht():int
		{
			return _ht;
		}
		public function set ht(value:int):void
		{
			_ht = value;
		}
		
		
		[Inspectable(enumeration="0,1", defaultValue="1" )]
		public function get hs():int
		{
			return _hs;
		}
		public function set hs(value:int):void
		{
			_hs = value;
		}
		
		
		[Inspectable(enumeration="0,1", defaultValue="1" )]
		public function get ha():int
		{
			return _ha;
		}
		public function set ha(value:int):void
		{
			_ha = value;
		}

		
		public function get hd():String
		{
			return _hd;
		}
		public function set hd(value:String):void
		{
			_hd = value;
		}
		

		public function get he():String
		{
			return _he;
		}
		public function set he(value:String):void
		{
			_he = value;
		}
		

		public function get bc():int
		{
			return _bc;
		}
		public function set bc(value:int):void
		{
			_bc = value;
		}
		
		
		public function commitData():void
		{
			hyperLinkTypeCheck();
		}
		public function hyperLinkTypeCheck():void
		{
			if(hl){
				switch(hl){
					case 0 :
						break;
					case 1 :
						break;
					case 2 :
						break;
					case 3 :
						break;
					case 4 :
						break;
					case 5 :
						break;
				}
				//툴팁표
				hyperLinkToolTip();
				//
			}
		}
		
		public function hyperLinkToolTip():void
		{
			if(hasOwnProperty("toolTip")){
				this["toolTip"] = hb;
				
			}
		}
		
		public function hyperLinkClickHandler(event:MouseEvent):void
		{
			
		}
	}
}